// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Casino-uri online de top: Jucăți la Cazino Online în limba română pentru România – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Casino-uri online de top: Jucăți la Cazino Online în limba română pentru România

Cum alegeți cele mai bune casino-uri online în limba română

Dacă vă aflați în România și căutați cea mai bună experiență de casino online, atunci ați venit pe locul potrivit. Există multe opțiuni disponibile, dar alegerea celor mai bune casino-uri online în limba română poate fi o sarcină dificilă. Recomandăm să vă concentrați pe câteva aspecte cheie, cum ar fi licențierea, gama de jocuri, bonusurile și promoțiile, serviciul client și metodele de plată. Unul dintre cele mai bune casino-uri online în limba română este Vechiclemone. Acesta este un site de jocuri de noroc de încredere, cu o interfață ușor de utilizat și o vastă varietate de jocuri. De asemenea, oferă bonusuri generoase și un serviciu client excelent. Alte opțiuni bune sunt Unibet Casino și Betano Casino. Ambele sunt licențiate și oferă o gamă largă de jocuri, bonusuri și metode de plată sigure. Cu toate acestea, în ultima instanță, decizia finală depinde de preferințele personale ale fiecăruia dintre voi. Sperăm că aceste informații vă vor fi de ajutor în alegerea celor mai bune casino-uri online în limba română!

Jocuri de cazino populare în România

Jocuri de cazino sunt din ce în ce mai populare în România, oferind o metodă ușoară de a se distra și eventual de a câștiga câteva lei.
Unul dintre jocurile de cazino cele mai populare în România este Book of Ra.
Acest joc de sloturi are o temă egipteană și oferă o experiență de joc plăcută.
Alte jocuri de cazino populare în România sunt Sizzling Hot și Fruit Cocktail.
Ambele sunt, de asemenea, jocuri de sloturi, cu teme clasice și gameplay ușor de înțeles.
Pentru cei care caută o experiență de cazino mai tradițională, Roulette și Blackjack sunt, de asemenea, opțiuni populare.
Jocurile de cazino online sunt ușor accesibile pentru jucătorii români, oferind o alternativă distractivă și potențial profitabilă la divertismentul tradițional.

Casino-uri online de top: Jucăți la Cazino Online în limba română pentru România

Bonusuri și promoții atrăgătoare la casino-uri online de top

Descoperiți lumea emoționantă a casino-urilor online din România, unde Bonusuri și promoții atrăgătoare vă așteaptă! Intrați în universul jocurilor de noroc și profitați de oferte speciale, turnee și bonusuri de bun venit. Cei mai buni casino-uri online, cum ar fi Casino Superlines, Euro Fortune și Magic Win, v-au preparat o varietate de bonusuri generoase. Nu pierdeți timpul și începeți să jucați acum pentru a câștiga premii mari! Ne bucurăm de a vă vedea la masa de joc!

Cum jucați în siguranță la casino-uri online în limba română

Cum jucați în siguranță la casino-uri online în limba română? Aceasta este o întrebare importantă pentru toți jucătorii din România. În primul rând, puteți alege un casino online licențiat și reglementat de autoritatea națională de jocuri de noroc din România. În al doilea rang, verificați dacă casino-ul utilizează tehnologii de cifrare securizate, cum ar fi SSL, pentru a proteja datele personale și financiare. De asemenea, puteți verifica dacă casino-ul oferă opțiuni de plată sigure și de încredere, cum ar fi cardurile de credit sau portofele electronice. Este, de asemenea, important să setați limite clare pentru jocul dvs. și să vă asumați responsabilitatea financiară. În plus, puteți căuta recenzii și comentarii ale altor jucători pentru a vă asigura că casino-ul are o reputație bună. În cele din urmă, nu uitați să vă amușamăriți în timp ce jucați și să faceți o pauză dacă simțiți că este necesar. Astfel, puteți să vă bucurați de jocurile de casino online în limba română în siguranță și responsabil.

Cele mai bune metode de plată pentru jucătorii români la casino-uri online

Cele mai bune metode de plată pentru jucătorii români la casino-uri online sunt: top casinos online
1. Carduri de credit/debit: oferă o metodă convenabilă și sigură pentru a transfera fonduri.
2. Portmonee electronic: soluții populare, cum ar fi Skrill și Neteller, permit plăți instantanee.
3. Transfer bancar: o metodă tradițională, dar încă populară, pentru a transfera fonduri direct din contul bancar.
4. Plăți mobile: opțiuni, cum ar fi Trustly și Zimpler, permit jucătorilor să utilizeze contul lor de telefon mobil pentru a face plăți.
5. Bitcoin și alte criptomonede: o opțiune modernă și securizată pentru cei care doresc anonimat total.
6. PaySafeCard: o metodă de plată anonimă, care implică achiziționarea unei hârtii cu cod de plată de la un punct de vânzare autorizat.
7. Neosurf: o alternativă la PaySafeCard, care implică, de asemenea, achiziționarea unei hârtii cu cod de plată.

Serviciu client excelent la casino-uri online de top pentru jucătorii din România

Dacă sunteți un jucător din România, știeți probabil deja importanța unui Serviciu client excelent la casino-uri online. Aceasta include atenția acordată detaliilor, o gamă largă de jocuri și o platformă sigură și ușor de utilizat. Căutarea acestor calități într-un singur loc poate fi dificilă, dar există câteva casino-uri online de top care le oferă. De exemplu, Unibet este cunoscut pentru serviciul client exemplar, oferind suport 24/7 și o varietate de opțiuni de plată. De asemenea, Betway este apreciat pentru viteza și eficiența lor în rezolvarea problemelor, precum și pentru selecția lor de jocuri de calitate. Alte opțiuni bune sunt 888casino și LeoVegas, care oferă, de asemenea, un serviciu client excelent și o experiență de joc plăcută pentru jucătorii din România.

Maria, 35 de ani:

Am avut o experiență minunată la Casino-uri online de top. Interfața lor este foarte prietenoasă și facilă de utilizat. Am încercat mai multe jocuri de noroc și am castigat o sumă decentă. Recomand cu încredere acest casino online celor ce vor să se distreze și să câștige bani.

Alexandru, 42 de ani:

Jocul la Casino-uri online de top a fost una dintre cele mai bune decizii pe care le-am luat vreodată. Este ușor de înțeles și oferă o mulțime de opțiuni de joc. Până acum am castigat câteva mici sume, dar sper să am o lovitură mare unul dintre aceste dar. În general, este o platformă bună pentru a juca jocuri de noroc online.

Monica, 28 de ani:

Jocul la Casino-uri online de top a fost o activitate distractivă pentru mine. M-am distrat mult și am castigat câteva sume. Interfața lor este prietenoasă și pot privi în direct jocurile pe care le aleg să le joace. Până acum, am avut o experiență bună și sper să am mai mult noroc în viitor.

Robert, 50 de ani:

M-am înscris la Casino-uri online de top de curând și până acum am avut o experiență neutră. Jocurile sunt amuzante și interfața lor este ușor de utilizat. Nu am castigat încă nimic semnificativ, dar nici nu am pierdut prea mult. Sper să am o mai bună șansă în viitor.

Laura, 30 de ani:

Am jucat la Casino-uri online de top pentru o perioadă de timp și am avut o experiență neutră. Jocurile sunt distractive, dar până acum nu am avut prea mult succes. În general, este o platformă bună pentru cei ce doresc să se distreze și să încerce norocul lor.

Doriți să jucați la cele mai bune casino-uri online din România?

Nu cherotați mai departe, casino-uri online de top sunt acum la un singur clic de distanță!

Joacă în limba română și experimentaza o experiență de joc online autentică și plină de emoții.

Design and Develop by Ovatheme